<div class="root" style="width: {width}px; height: {height}px;">
  <div class="loupe" style="border-color: {color}">
    <slot></slot>
  </div>
  {#if label}
    <div class="label" style="background-color: {color};">{label}</div>
  {/if}
</div>

<script>
  export default {
    data() {
      return {
        label: null,
        width: null,
        height: null,
        color: "#ff6600"
      }
    }
  }
</script>

<style>
.root {
  position: relative;
  width: 100%;
  height: 100%;
}
.loupe {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border: solid 3px #ff6600;
  border-radius: 50%;
  position: relative;
}
.label {
  color: white;
  font-size: 14px;
  font-weight: 600;
  background: #ff6600;
  border-radius: 6px 0 0 6px;
  padding:0 6px;
  position: absolute;
  top: calc(50% - 12px);
  right: calc(100% - 2px);
  height: 24px;
  line-height: 24px;
}
</style>